home *** CD-ROM | disk | FTP | other *** search
- #include <exec/types.h>
- #include <clib/exec_protos.h>
- #include <intuition/intuition.h>
- #include <intuition/gadgetclass.h>
- #include <clib/intuition_protos.h>
- #include <libraries/gadtools.h>
- #include <clib/gadtools_protos.h>
- #include <libraries/expansion.h>
- #include <libraries/expansionbase.h>
- #include <libraries/configvars.h>
- #include <clib/expansion_protos.h>
- #include <graphics/gfx.h>
- #include <clib/graphics_protos.h>
- #include <dos/dostags.h>
-
- #include <ctype.h>
- #include <stdlib.h>
- #include "rp.h"
- #include "boards.h"
-
- #include <reaction/reaction.h>
- #include <gadgets/chooser.h>
- #include <pragmas/chooser_pragmas.h>
- #include <gadgets/string.h>
- #include <pragmas/string_pragmas.h>
- #include <gadgets/integer.h>
- #include <pragmas/integer_pragmas.h>
- #include <gadgets/checkbox.h>
- #include <pragmas/checkbox_pragmas.h>
- #include <gadgets/layout.h>
- #include <pragmas/layout_pragmas.h>
- #include <gadgets/button.h>
- #include <pragmas/button_pragmas.h>
- #include <images/label.h>
- #include <pragmas/label_pragmas.h>
- #include <proto/label.h>
- #include <classes/window.h>
- #include <pragmas/window_pragmas.h>
-
- #define MANUFS 272
-
- MODULE ULONG querymanuf,
- queryproduct,
- boards,
- whichboard,
- precedence;
- MODULE UWORD selectedmanuf = 0,
- selectedproduct = 0;
- MODULE struct ExpansionBase* ExpansionBase = NULL;
- MODULE TEXT cardnumber[10];
- MODULE TEXT manuf_buffer[49],
- product_buffer[49];
- MODULE ABOOL foundmanuf,
- foundproduct;
- MODULE struct List ManufChooserList;
- MODULE struct ChooserNode* ManufChooserNodePtr[1 + 1];
-
- MODULE void checklibrary(ULONG whichmanuf, ULONG whichproduct);
- MODULE void checkinternal(ULONG whichmanuf, ULONG whichproduct);
- MODULE void nomanuf(void);
- MODULE void noproduct(void);
- MODULE void runquery(ULONG whichmanuf, ULONG whichproduct);
- MODULE void updatemanuf(void);
- MODULE void autoquery(void);
-
- // from rp.c
- IMPORT WORD xsize;
- IMPORT ULONG signal;
- IMPORT SBYTE page;
- IMPORT ABOOL fillwindows;
- IMPORT TEXT IOBuffer[LONGESTFIELD + 1],
- cpuline[VLONGFIELD + 1];
- IMPORT struct Window* MainWindowPtr;
- IMPORT struct Library* BoardsBase;
- IMPORT struct Screen* ScreenPtr;
- IMPORT struct Library *ButtonBase,
- *CheckBoxBase,
- *ChooserBase,
- *IntegerBase,
- *LabelBase,
- *LayoutBase,
- *StringBase,
- *WindowBase;
- IMPORT struct Menu* MenuPtr;
- IMPORT Object* WinObject[FUNCTIONS + 1];
-
- MODULE struct
- { UWORD manuf;
- UBYTE product;
- struct ConfigDev* ConfigDevPtr;
- APTR BoardAddr, Driver;
- ULONG BoardSize, SerialNumber;
- UWORD SlotAddr, SlotSize;
- } board[16]; // how many boards are simultaneously attachable?
-
- AGLOBAL struct Gadget* manuf_gadgets[GIDS_5 + 1];
-
- STRPTR ManufOptions[1 + 1] =
- { "Library, then internal",
- "Internal, then library"
- };
-
- MODULE struct
- { ULONG number[3];
- UBYTE howmany; // how many of the three numbers are registered.
- // They go from left to right.
- STRPTR name;
- } manuf[MANUFS + 1] =
- {
- 1012, -1, -1, 1, "Access Associates",
- 2003, -1, -1, 1, "ACDA",
- 2149, -1, -1, 1, "ACS",
- 2070, -1, -1, 1, "Active Circuits Inc.",
- 1017, -1, -1, 1, "ADA Research",
- 2056, 2061, -1, 2, "Adept Development",
- 2057, -1, -1, 1, "Advanced Computer Design",
- 1046, -1, -1, 1, "Advanced Micro Innovations",
- 2102, -1, -1, 0, "Advanced Storage Systems",
- 2016, -1, -1, 1, "Akron Systems",
- 2083, -1, -1, 1, "Alberta Micro Electronic Center",
- 2130, -1, -1, 1, "Alfa-Laval",
- 2063, -1, -1, 1, "Alphatech",
- 2190, -1, -1, 1, "Altatech",
- 5010, -1, -1, 1, "Ambience Creation Technology",
- 2068, -1, -1, 1, "Amdev",
- 2025, 2094, -1, 2, "American Liquid Light",
- 1053, -1, -1, 1, "Ameristar",
- 2118, -1, -1, 1, "The Amiga Centre",
- 2055, -1, -1, 1, "Amiga Solutions",
- 1019, 2041, -1, 2, "Amigo Business Computers",
- 2176, -1, -1, 1, "AmiTrix Development",
- 2183, -1, -1, 1, "AMOK - Amiga Module & Oberon Klub",
- 2116, -1, -1, 1, "AMS",
- 1009, -1, -1, 1, "Anakin Research",
- 2007, 2121, -1, 2, "Analog Electronics",
- 1061, -1, -1, 1, "Analog Precision or D&L Distributing",
- 2088, -1, -1, 1, "Applied Engineering",
- 2207, -1, -1, 1, "Applied Magic Inc.",
- 2028, 2054, -1, 2, "Applied Systems & Peripherals/Xebec",
- 2132, -1, -1, 1, "Archos",
- 1023, -1, -1, 1, "ASDG Inc.",
- 1005, -1, -1, 1, "A-Squared",
- 2146, -1, -1, 1, "Atlantis",
- 2036, -1, -1, 1, "Atronic",
- 2143, -1, -1, 1, "Axellabs",
- 2160, -1, -1, 1, "bbdp Electronics",
- 2008, -1, -1, 1, "Bell & Howell",
- 2093, -1, -1, 1, "Bernd Culenfeld",
- 2084, -1, -1, 1, "Bestech",
- 2105, -1, -1, 1, "Beta Unlimited",
- 2069, -1, -1, 1, "Big Brother Security Systems",
- 1043, -1, -1, 1, "B. J. Freeman",
- 2098, -1, -1, 1, "Black Belt Systems",
- 1011, -1, -1, 1, "Bob Krauth",
- 2198, -1, -1, 1, "Bob Research Group",
- 2066, -1, -1, 1, "Bowden, Williams, Full & Assoc.",
- 2049, 2092, -1, 2, "BSC (Elaborate Bytes)/Advanced Development Software",
- 2033, -1, -1, 1, "BVR",
- 2010, -1, -1, 1, "Byte Corp",
- 2050, -1, -1, 1, "C. Ltd",
- 2021, -1, -1, 0, "California Access (Synergy)",
- 2018, -1, -1, 1, "Calmos",
- 1055, -1, -1, 1, "Cardiac Pacemakers Inc.",
- 2095, -1, -1, 1, "CEGITES",
- 2074, -1, -1, 1, "The Checkered Ball",
- 2024, -1, -1, 1, "CH Electronics",
- 2114, -1, -1, 1, "C. H. Helfrich Electronik",
- 2082, -1, -1, 1, "Circum Design Inc.",
- 2077, -1, -1, 1, "Clartscreen Ltd. (UK)",
- 2044, -1, -1, 1, "Clearpoint Research",
- 1054, -1, -1, 1, "Cline Refrigeration",
- 26470, 49160, -1, 0, "Combitec",
- 515, -1, -1, 0, "Combitech/MacroSystems USA",
- 2048, -1, -1, 1, "Commodore Braunschweig",
- 513, 514, -1, 0, "Commodore Business Machines",
- 2134, -1, -1, 1, "Commodore Test Engineering Group",
- 1018, -1, -1, 1, "Computer Service Italia",
- 1026, 2052, -1, 2, "Computer Tuning",
- 1006, -1, -1, 1, "Comspec Communications",
- 2204, -1, -1, 1, "Conspector Entertainment",
- 2182, -1, -1, 1, "CP Computer",
- 5011, -1, -1, 1, "Creative Development",
- 1058, -1, -1, 1, "CSA",
- 2122, -1, -1, 1, "Cumana",
- 2186, -1, -1, 1, "Cyborg Design Services",
- 2197, -1, -1, 1, "Cyon",
- 2029, -1, -1, 1, "Delaware Valley Software",
- 2161, -1, -1, 1, "Design Computer Systems",
- 1041, -1, -1, 1, "Design Labs",
- 1057, -1, -1, 1, "Diener, Wayne",
- 2060, -1, -1, 1, "Digital Art Systems",
- 2129, -1, -1, 1, "Digital Micronics",
- 2119, -1, -1, 1, "Digital Pacific",
- 2160, 2169, -1, 2, "Digital Processing Systems",
- 2015, -1, -1, 1, "Digitronics",
- 2012, -1, -1, 1, "DKB Inc. (\"Michigan Software\")",
- 2129, -1, -1, 0, "DMI",
- 2019, -1, -1, 1, "Dover Research",
- 2064, -1, -1, 1, "Edotronik GmbH",
- 2206, -1, -1, 1, "Elbox Computer",
- 2174, -1, -1, 1, "Electronic Design",
- 2076, -1, -1, 1, "Elmtech Research Ltd. (UK)",
- 2005, -1, -1, 1, "Elthen Electronics",
- 2138, -1, -1, 1, "Evesham Micro Ltd.",
- 2096, -1, -1, 1, "EV Industries",
- 8290, -1, -1, 0, "Expansion Systems",
- 1014, 2062, -1, 2, "Expansion Technologies (Pacific Cypress)",
- 2059, -1, -1, 1, "Expert Services",
- 2137, -1, -1, 1, "Faberushi",
- 2177, -1, -1, 1, "Ferranti",
- 2004, -1, -1, 1, "Finn R. Jacobsen",
- 4648, -1, -1, 1, "Flesch Hornemann Computer Elec.",
- 2125, -1, -1, 1, "For Your Eyes",
- 1015, -1, -1, 1, "Fuller Computers",
- 2201, -1, -1, 1, "Fulvio Ieva",
- 2187, -1, -1, 1, "G2 Systems",
- 1016, -1, -1, 1, "Galaxy Computers",
- 2079, -1, -1, 1, "Galysh Enterprises",
- 2081, -1, -1, 1, "GBS",
- 2142, -1, -1, 1, "GfxBase Inc.",
- 2109, -1, -1, 1, "Gigatron OHG",
- 2040, -1, -1, 1, "GIT",
- 2180, -1, -1, 1, "GPSoft Pty. Ltd.",
- 1051, -1, -1, 1, "GRC Electronics",
- 2017, 1761, 2193, 1, "Great Valley Peripherals",
- 2011, -1, -1, 0, "Hacker",
- 2158, -1, -1, 1, "HAL Software Hardware Handel",
- 2560, -1, -1, 0, "Harms",
- 2166, -1, -1, 1, "Hamren, Thomas",
- 2192, -1, -1, 1, "Hardware Design Udo Neuroth",
- 2195, -1, -1, 0, "Helfrich",
- 2075, -1, -1, 1, "Hi Tension Computer Services Ltd. (UK)",
- 2113, -1, -1, 1, "H. K. Computers",
- 2141, -1, -1, 1, "Hohabir, Daniel",
- 2038, -1, -1, 1, "Howitch",
- 1007, -1, -1, 1, "HT Electronics",
- 2121, -1, -1, 0, "Hydra Systems",
- 2071, -1, -1, 1, "ICD Inc.",
- 2133, -1, -1, 1, "Icom Simulations",
- 2104, -1, -1, 1, "Impulse Inc.",
- 2031, -1, -1, 1, "Incognito Software",
- 4626, -1, -1, 1, "Individual Computers",
- 1047, -1, -1, 1, "Industrial Support Services",
- 2151, -1, -1, 1, "Infinity Systems Design Group",
- 1025, -1, -1, 1, "Ing. Buero Kalawsky",
- 2195, -1, -1, 1, "Ingenieurbuero Helfrich",
- 2112, -1, -1, 1, "Interactive Video Systems",
- 1027, -1, -1, 1, "Interplan Unternehmensberatung",
- 2078, -1, -1, 1, "Interworks/Network",
- 2184, -1, -1, 1, "ITEK Neser & Sieber GbR",
- 5000, -1, -1, 1, "ITH",
- 2087, -1, -1, 1, "Ivis",
- 2112, -1, -1, 0, "IVS",
- 2032, -1, -1, 1, "Jadesign",
- 2175, -1, -1, 1, "James Cook University of North Queensland",
- 2052, -1, -1, 0, "Jochheim",
- 2180, -1, -1, 1, "Juergen Kommos",
- 2123, -1, -1, 1, "KAPS 2C Conception",
- 2009, -1, -1, 1, "Kochler, Roland",
- 2045, -1, -1, 1, "Kodiak",
- 2020, -1, -1, 1, "Krehbiel, David",
- 2043, -1, -1, 1, "Kruse, Ralph",
- 2073, 4680, -1, 1, "Kupke Computertechnik GmbH/Golem",
- 1052, -1, -1, 1, "Lai, David",
- 2085, -1, -1, 1, "Lasar Fantasy",
- 2205, -1, -1, 1, "Laserforum",
- 2185, -1, -1, 1, "Lello, Phillip C.",
- 2178, -1, -1, 1, "Leviathan Development",
- 2065, -1, -1, 1, "Logical Design Works",
- 1030, -1, -1, 0, "Lowell University/Commodore Business Machines",
- 1060, -1, -1, 1, "Lucas, David",
- 2156, 4754, -1, 2, "MacroSystems",
- 256, 18260, -1, 0, "MacroSystems USA",
- 2159, -1, -1, 0, "Mainhattan-Data (A-Team)",
- 1081, -1, -1, 0, "Marc Michael Groth",
- 2194, -1, -1, 1, "Marpet Developments",
- 2157, -1, -1, 1, "Masoboshi GmbH",
- 2124, -1, -1, 1, "Mason, Mike",
- 1042, -1, -1, 1, "MCS",
- 2106, -1, -1, 1, "Memory Expansion Systems Ltd.",
- 2159, -1, -1, 1, "Michael Lamm Computersysteme",
- 1010, -1, -1, 1, "MicroBotics",
- 2135, -1, -1, 1, "Microcreations",
- 2042, -1, -1, 1, "Micro E Ab",
- 1003, -1, -1, 1, "The Micro-Forge",
- 2023, -1, -1, 1, "Micron Technology",
- 1020, -1, -1, 1, "Micro-Solutions Inc.",
- 2203, -1, -1, 1, "Micro System Devices",
- 2002, -1, -1, 1, "Mimetics Corp.",
- 1013, -1, -1, 1, "Mini Comp Systems Ltd.",
- 2189, -1, -1, 1, "MSPI (Markt & Technik)",
- 2131, -1, -1, 1, "Multigros A/S",
- 2072, -1, -1, 1, "Multi-Meg Electronique",
- 2196, -1, -1, 1, "The Neo Group",
- 2067, -1, -1, 1, "NES Inc.",
- 2111, -1, -1, 1, "New Technologies Group",
- 2191, -1, -1, 1, "NewTek",
- 2006, -1, -1, 1, "Nine Tiles Computer Systems Ltd.",
- 2181, -1, -1, 1, "O. Bausch",
- 1028, -1, -1, 1, "Ohlich, Peter",
- 1045, -1, -1, 1, "Oklahoma Personal Comp.",
- 2145, -1, -1, 1, "Omega Datentechnik",
- 2165, -1, -1, 1, "Overland Engineering",
- 2013, 211, -1, 1, "Pacific Peripherals",
- 2030, -1, -1, 1, "Palomax",
- 2139, -1, -1, 1, "Panagolin Laser Software",
- 2110, -1, -1, 1, "PG Electronics",
- 2172, 8512, -1, 1, "phase 5",
- 2046, 2101, 46504, 2, "Phoenix Electronics",
- 2108, -1, -1, 1, "Platypus Systems",
- 2155, -1, -1, 1, "Power Computing Ltd.",
- 2102, -1, -1, 1, "Preferred Technology",
- 1030, -1, -1, 1, "Productivity Center",
- 2026, 756, -1, 1, "Progressive Peripherals and Software",
- 1049, -1, -1, 1, "Prolific Inc.",
- 2188, -1, -1, 1, "Pro System ComputerSysteme",
- 2148, -1, -1, 1, "Protar Electronics",
- 2086, -1, -1, 1, "Pulsar",
- 1267, -1, -1, 1, "RBM Digitaltechnik",
- 1008, -1, -1, 1, "RDS Software",
- 2100, 8448, -1, 1, "ReadySoft",
- 2080, -1, -1, 1, "Realtime Games Software Ltd.",
- 43437, -1, -1, 0, "Reis-Ware",
- 2199, -1, -1, 1, "Richmond Sound Design Ltd.",
- 2144, -1, -1, 1, "Roctec Electronics Inc.",
- 2103, -1, -1, 1, "Rombo Productions",
- 1028, 4136, -1, 0, "Ronin/Imtronics",
- 2140, -1, -1, 1, "Rudloff, Thomas",
- 8704, -1, -1, 0, "Sang/CT",
- 2128, -1, -1, 1, "Scott Advanced Micro Designs",
- 2037, -1, -1, 1, "Scott Karlin",
- 2208, -1, -1, 1, "SDL Ltd.",
- 2091, -1, -1, 1, "Seaview Software",
- 2055, -1, -1, 0, "Serial Solutions (Checkpoint Technologies)",
- 2136, -1, -1, 1, "Shoestring Productions",
- 1044, -1, -1, 1, "Side Effects Inc.",
- 2097, -1, -1, 1, "Silicon Peace",
- 2202, -1, -1, 1, "Silicon Studio",
- 2058, -1, -1, 1, "Sir Netics",
- 1050, -1, -1, 1, "Softeam Inc.",
- 2089, 2120, -1, 2, "Solid State Design & Development/Solid State Leisure",
- 32768, -1, -1, 0, "SKI Peripherals",
- 2147, -1, -1, 1, "Skytec Computers",
- 2051, -1, -1, 1, "Spartanics",
- 2034, 2035, -1, 2, "Spirit Technology",
- 2150, -1, -1, 0, "SRE",
- 1021, -1, -1, 1, "Stacar International",
- 2162, -1, -1, 1, "The Station",
- 2039, -1, -1, 1, "Sullivan Brothers Visual Engineers",
- 2164, 2170, -1, 2, "Superformance Computer Engineering GmbH",
- 2127, -1, -1, 1, "Sunrize Industries",
- 2153, -1, -1, 1, "Suntec Inc.",
- 1056, 1004, -1, 2, "Supra Corp. (Creative Microsystems)", // 1004 is also unofficially claimed by C. Ltd
- 2021, -1, -1, 1, "Synergy Peripheral Systems",
- 2014, -1, -1, 1, "Sysaphus Software",
- 1048, -1, -1, 1, "Technisoft",
- 1001, -1, -1, 1, "Tecmar",
- 1002, -1, -1, 1, "Telesys",
- 2168, -1, -1, 1, "Toolbox Design",
- 2152, -1, -1, 1, "Trade It",
- 2053, -1, -1, 1, "Trans Data Systems",
- 2128, -1, -1, 0, "Triceratops",
- 2154, -1, -1, 1, "Tritec Marketing",
- 1059, -1, -1, 1, "Trionix Inc.",
- 2179, -1, -1, 1, "United Video Inc.",
- 2150, -1, -1, 1, "University of Illinois",
- 2200, -1, -1, 1, "US Cybernetics",
- 2171, -1, -1, 1, "Utilities Unlimited",
- 1022, -1, -1, 1, "Video Precisions",
- 2167, -1, -1, 1, "Village Tronic",
- 2193, -1, -1, 1, "Viona Developments",
- 2090, -1, -1, 1, "Vision Quest",
- 2126, -1, -1, 1, "Volkmar Breitfeld Computersysteme",
- 2107, 8215, -1, 1, "Vortex Computer Systems GmbH",
- 5001, -1, -1, 1, "VMC",
- 2027, -1, -1, 1, "Wicat Systems",
- 2163, -1, -1, 1, "Williams, Bryan",
- 2115, -1, -1, 1, "Xanadu",
- 2022, -1, -1, 1, "Xetec",
- 2117, -1, -1, 1, "X-Pert",
- 2099, -1, -1, 1, "Yaeger, Steve",
- 2047, -1, -1, 1, "?", // `no name shown'
- };
-
- #define PRODUCTS 174
- struct
- { ULONG manufid,
- number[2];
- STRPTR name;
- STRPTR desc;
- } product[PRODUCTS + 1] =
- {
- 2026, 150, -1, "Zeus 040", "68040 accelerator + 32-bit expansion memory + SCSI host adapter", 1056, 12, -1, "WordSync HD Interface", "SCSI host adapter",
- 2203, 19, -1, "Warp Engine", "68040 accelerator + 32-bit expansion memory",
- 256, 19, -1, "Warp Engine", "68040 accelerator + 32-bit expansion memory",
- 1010, 68, -1, "VXL RAM*32", "32-bit expansion memory",
- 1010, 69, -1, "VXL 30", "68030/6888x accelerator",
- 2064, 8, -1, "VME-Bus Controller", "VME-bus interface board",
- 18260, 4, -1, "VLab Y/UV Digitizer", "Video digitizer board",
- 2117, 2, -1, "Visiona", "Graphics board (I/O area)",
- 2117, 1, -1, "Visiona", "Graphics board (memory area)",
- 2113, 227, -1, "Vektor I/O", "I/O board",
- 2112, 243, -1, "Vector", "68030/68882 accelerator + 32-bit expansion memory",
- 2112, 48, -1, "TrumpCard Classic", "SCSI host adapter",
- 2112, 52, -1, "TrumpCard Pro/Grand Slam", "SCSI host adapter",
- 1056, 10, -1, "SupraRAM", "16-bit expansion memory",
- 1056, 1, -1, "SupraDrive 4x4 SCSI", "SCSI host adapter",
- 1010, 2, -1, "StarDrive", "SCSI host adapter",
- 1010, 0, -1, "StarBoard 2", "16-bit expansion memory",
- 46504, 33, -1, "ST506 Autoboot", "MFM controller",
- 2101, 33, -1, "ST506 Autoboot", "MFM controller",
- 49160, 43, -1, "SRAM Card", "Memory board",
- 2034, 3, -1, "SIN500", "16-bit expansion memory",
- 2012, 9, -1, "SecureKey", "Access control board",
- 32768, 128, -1, "SCSI + Dual Serial", "SCSI host adapter/serial board",
- 46504, 34, -1, "SCSI Autoboot", "SCSI host adapter",
- 2101, 34, -1, "SCSI Autoboot", "SCSI host adapter",
- 2073, 2, -1, "SCSI", "SCSI host adapter",
- 43437, 17, -1, "Scan King", "Scanner",
- 514, 96, -1, "Romulator", "?",
- 18260, 16, -1, "Retina Z3", "Graphics board",
- 18260, 6, -1, "Retina", "Graphics board",
- 2129, 1, -1, "Resolver", "Graphics board",
- 2088, 16, -1, "RAM Works", "16-bit expansion memory",
- 2052, 1, -1, "RAM Board", "16-bit expansion memory",
- 2022, 2, -1, "RAM Board", "16-bit expansion memory",
- 1023, 1, 2, "RAM Board", "16-bit expansion memory",
- 2011, 2, -1, "Quicknet QN2000", "Ethernet LAN board",
- 2064, 6, -1, "PIC Prototyping Board", "Prototyping board",
- 2195, 11, -1, "Piccolo SD64", "Graphics board (I/O area)",
- 2195, 10, -1, "Piccolo SD64", "Graphics board (memory area)",
- 2195, 6, -1, "Piccolo", "Graphics board (I/O area)",
- 2195, 5, -1, "Piccolo", "Graphics board (memory area)",
- 2167, 13, -1, "Picasso ][", "Graphics board (segmented area)",
- 2167, 12, -1, "Picasso ][", "Graphics board (I/O area)",
- 2167, 11, -1, "Picasso ][", "Graphics board (memory area)",
- 2112, 16, -1, "OverDrive", "SCSI host adapter",
- 4680, 1, -1, "Omti HD Controller", "MFM controller",
- 2073, 1, -1, "Omti HD Controller", "MFM controller",
- 2092, 5, -1, "Oktagon", "SCSI host adapter",
- 2034, 6, -1, "OctaByte", "16-bit expansion memory",
- 2102, 1, -1, "Nexus", "SCSI host adapter",
- 2128, 1, -1, "Multiport I/O", "I/O board",
- 2176, 1, -1, "Multi-I/O", "I/O board",
- 2092, 16, 17, "MultiFaceCard", "Serial/parallel board",
- 2092, 18, -1, "MultiFaceCard ]I[", "Serial/parallel board",
- 2112, 64, -1, "Meta-4", "16-bit expansion memory",
- 2092, 8, -1, "Memory Master", "16-bit expansion memory",
- 2073, 3, -1, "Memory Expansion", "16-bit expansion memory",
- 46504, 190, -1, "Memory Board", "16-bit expansion memory",
- 2101, 190, -1, "Memory Board", "16-bit expansion memory",
- 1010, 129, 193, "MBX 1200", "32-bit expansion memory",
- 2021, 1, -1, "Malibu SCSI", "SCSI host adapter",
- 1058, 17, -1, "Magnum 040", "68040 accelerator + 32-bit expansion memory",
- 8704, 1, -1, "Link-Interface", "Transputer link interface",
- 1005, 1, -1, "LIVE! A2000", "Video digitizer board",
- 2050, 4, -1, "Kronos 2000", "SCSI host adapter",
- 1004, 4, -1, "Kronos 2000", "SCSI host adapter",
- 2092, 65, -1, "ISDN-Master", "ISDN board",
- 2034, 1, -1, "Insider IN1000", "16-bit expansion memory",
- 2034, 2, -1, "Insider IN500", "16-bit expansion memory",
- 2034, 8, -1, "Inmate SCSI/FPU/RAM", "?",
- 2017, 32, -1, "Impact Vision 24", "Graphics board",
- 2017, 11, -1, "Impact Series ][ SCSI (DPRC)", "SCSI host adapter (or I/O extender)",
- 2017, 3, -1, "Impact Series I SCSI 16K/3", "SCSI host adapter",
- 2017, 2, -1, "Impact Series I SCSI 16K/2", "SCSI host adapter",
- 2017, 1, -1, "Impact Series I SCSI 4K", "SCSI host adapter",
- 1761, 8, -1, "Impact SCSI", "SCSI host adapter",
- 2017, 8, 13, "Impact A3001 IDE HD", "68030/68882 accelerator + IDE controller",
- 2064, 1, -1, "IEEE-488 Controller", "IEEE-488 interface board",
- 2159, 1, -1, "IDE", "IDE controller",
- 2121, 1, -1, "Hydra Ethernet", "Ethernet LAN board",
- 4136, 57, 87, "Hurricane 2800", "68030/6888x accelerator + 32-bit expansion memory",
- 1028, 57, 87, "Hurricane 2800", "68030/6888x accelerator + 32-bit expansion memory",
- 2064, 3, -1, "High-Speed Multiserial Interface", "Serial board",
- 211, 10, -1, "HD Controller", "SCSI host adapter",
- 49160, 42, -1, "HD Controller", "SCSI host adapter",
- 2034, 4, -1, "HDA-506", "MFM controller",
- 1010, 150, 158, "HardFrame/2000", "SCSI host adapter",
- 2112, 4, -1, "GrandSlam", "SCSI/parallel/serial board",
- 1023, 255, -1, "GPIB or Dual Serial Board", "IEEE-488 or Twin-X serial card",
- 8215, 8, -1, "GoldenGate 386SX RAM", "80386SX bridgeboard/Amiga shared RAM",
- 8215, 7, -1, "GoldenGate 386SX", "80386SX bridgeboard",
- 2150, 1, -1, "GoldenGate ][", "Zorro ][-ISA bridgeboard",
- 2017, 255, -1, "G-Force 040 I/O ('040/2000)", "Serial/parallel board",
- 2142, 0, -1, "GDA-1 VRAM", "Graphics board",
- 2142, 1, -1, "GDA-1", "Graphics board",
- 2104, 0, -1, "Firecracker", "Frame buffer",
- 2092, 32, -1, "Frame Buffer", "Graphics board",
- 2022, 1, -1, "FastTrak HD", "SCSI host adapter",
- 8512, 10, -1, "FastLane Z3", "SCSI host adapter + 32-bit expansion memory",
- 2022, 3, -1, "FastCard + HD Controller", "?",
- 2067, 0, -1, "Expansion RAM", "16-bit expansion memory",
- 756, 2, -1, "EXP8000", "16-bit expansion memory",
- 1053, 1, -1, "Ethernet", "Ethernet LAN board",
- 2193, 1, -1, "EGS Spectrum", "Graphics board (I/O area)",
- 2193, 2, -1, "EGS Spectrum", "Graphics board (memory area)",
- 1004, 14, -1, "Escort", "SCSI host adapter",
- 1023, 254, -1, "EB-920 LanRover", "Ethernet LAN board",
- 1009, 1, -1, "Easyl", "Graphics tablet",
- 2064, 9, -1, "DSP96000 Real Time Data Acquisition", "Data acquisition board",
- 2088, 16, -1, "DL2000", "Modem",
- 2055, 0, -1, "Dual Port Serial", "Serial board",
- 2129, 6, -1, "Digital Broadcaster 32", "Image processing board",
- 8290, 1, -1, "DataFlyer 500 SCSI", "SCSI host adapter",
- 8512, 34, -1, "CyberVision 64", "Graphics board",
- 8512, 11, -1, "CyberStorm", "68040 accelerator + 32-bit expansion memory",
- 2176, 2, -1, "CD-RAM", "16-bit expansion memory",
- 2010, 0, -1, "Byte Box A500", "?",
- 8512, 24, -1, "Blizzard A2060", "68060 accelerator + 32-bit expansion memory",
- 8512, 17, -1, "Blizzard 1230", "68030/68882 accelerator + 32-bit expansion memory",
- 8512, 2, -1, "Blizzard Turbo", "Accelerator board (I/O area)",
- 8512, 1, -1, "Blizzard Turbo", "Accelerator board (memory area)",
- 2034, 5, -1, "AX-S IBM Hardware I/O Board", "I/O board",
- 1006, 1, -1, "AX2000", "16-bit expansion memory",
- 8448, 1, -1, "A-Max ][+/A-Max IV", "Macintosh emulation board",
- 2049, 3, -1, "ALF 3 SCSI", "SCSI host adapter",
- 2049, 2, -1, "ALF 2 SCSI", "SCSI host adapter",
- 2049, 1, -1, "ALF 2", "MFM controller",
- 2071, 1, -1, "Advantage 2000/AdSCSI", "SCSI host adapter",
- 2167, 201, -1, "Adriadne", "Ethernet LAN + I/O board",
- 2071, 4, -1, "AdRAM 2080", "16-bit expansion memory",
- 2071, 3, -1, "AdIDE", "IDE controller",
- 514, 84, -1, "A4091", "SCSI host adapter",
- 1053, 10, -1, "A4066", "Ethernet LAN board",
- 514, 97, -1, "A3000 test fixture", "?",
- 514, 81, -1, "A2630", "68030/68882 accelerator + 32-bit expansion memory",
- 514, 80, -1, "A2620", "68020/68851/6888x accelerator + 32-bit expansion memory",
- 1030, 0, -1, "A2410", "Graphics board",
- 513, 103, -1, "A2386SX", "80386SX bridgeboard",
- 513, 2, -1, "A2286", "80286 bridgeboard",
- 514, 70, -1, "A2232", "Serial board",
- 514, 69, -1, "A2232 prototype", "Serial board",
- 514, 3, -1, "A2091", "SCSI host adapter",
- 514, 4, -1, "A2090B", "Autoboot card",
- 515, 3, -1, "A2090/A2090A", "MFM controller + SCSI host adapter with new driver",
- 514, 1, -1, "A2090/A2090A", "MFM controller + SCSI host adapter",
- 513, 1, -1, "A2088/A2286", "8088/80286 bridgeboard",
- 514, 112, -1, "A2065", "Ethernet LAN board",
- 1053, 9, -1, "A2060 Arcnet", "Arcnet LAN board",
- 514, 9, -1, "A2060", "Arcnet LAN board",
- 514, 10, -1, "A205x/A2091/A590", "16-bit expansion memory",
- 2560, 208, -1, "A2000 Turboboard 3500 Professional", "68030/68882 accelerator + 32-bit expansion memory",
- 1056, 3, -1, "A2000 DMA HD Interface", "SCSI host adapter",
- 2017, 22, -1, "A2000 060 Combo", "68060 accelerator + 32-bit expansion memory",
- 1004, 12, -1, "A1000/A2000 SCSI", "SCSI host adapter",
- 2050, 12, -1, "A1000 SCSI", "SCSI host adapter",
- 1056, 2, -1, "A1000 RAM Expansion", "16-bit expansion memory",
- 514, 2, -1, "A590", "SCSI host adapter/XT controller",
- 514, 32, -1, "A560", "16-bit expansion memory",
- 1056, 13, -1, "A500 ByteSync HD Interface", "SCSI host adapter",
- 1056, 8, -1, "A500 Autoboot HD Interface", "SCSI host adapter",
- 2073, 5, -1, "68030 (asynchronous)", "68030/6888x accelerator",
- 2073, 4, -1, "68030 (synchronous)", "68030/6888x accelerator",
- 2064, 2, -1, "8032 Development Adapter", "CBM-8032 board?",
- 1056, 16, -1, "2400zi+", "Modem",
- 1056, 11, -1, "2400zi", "Modem",
- 1056, 9, -1, "500/2000 RX", "16-bit expansion memory",
- 1056, 5, -1, "500 HD/RAM", "SCSI host adapter + 16-bit expansion memory",
- 2026, 105, -1, "040/A2000 Board", "68040 accelerator + 32-bit expansion memory",
- 2064, 5, -1, "32-Bit Parallel I/O Interface", "Parallel board",
- 2064, 4, -1, "24-Bit Real Time Video Digitizer", "Video digitizer board",
- 2064, 7, -1, "16-Channel ADC Interface", "Analog to digital board",
- 1058, 21, -1, "12 Gauge", "68030/68882 accelerator + 32-bit expansion memory",
- 1010, 4, -1, "8-UP! (Z)", "16-bit expansion memory",
- 1010, 3, -1, "8-UP! (A)", "16-bit expansion memory"
- };
-
- MODULE void runquery(ULONG whichmanuf, ULONG whichproduct)
- { /* This function takes a manufacturer and product ID and attempts
- to update the text gadgets with a relevant text description.
-
- If ~0 (-1) is passed for either the manufacturer or product ID,
- the function returns immediately without doing anything. */
-
- selectedmanuf =
- selectedproduct = (UWORD) ~0;
-
- if (whichmanuf == (ULONG) ~0 || whichproduct == (ULONG) ~0)
- { return;
- }
-
- SetGadgetAttrs
- ( manuf_gadgets[GID_5_CB1], MainWindowPtr, NULL,
- GA_Selected, FALSE,
- TAG_END
- );
- SetGadgetAttrs
- ( manuf_gadgets[GID_5_CB2], MainWindowPtr, NULL,
- GA_Selected, FALSE,
- TAG_END
- );
-
- if (precedence == 1)
- { checkinternal(whichmanuf, whichproduct);
- if (foundmanuf) // found int. manuf, maybe int. product
- { if (!foundproduct) // found int. manuf but not int. product
- { noproduct();
- } }
- else
- { checklibrary(whichmanuf, whichproduct);
- if (!foundmanuf)
- { nomanuf();
- noproduct();
- } } }
- else
- { assert(precedence == 0);
- checklibrary(whichmanuf, whichproduct);
- if (!foundmanuf) // can't find lib. manuf/product
- { checkinternal(whichmanuf, whichproduct);
- if (foundmanuf) // found int. manuf, maybe int. product
- { if (!foundproduct) // found int. manuf but not int. product
- { noproduct();
- } }
- else
- { nomanuf();
- noproduct();
- } } } }
-
- MODULE void updatemanuf(void)
- { TEXT output[13 + 1];
- ULONG i;
-
- if (whichboard == 0)
- { SetGadgetAttrs
- ( manuf_gadgets[GID_5_BU1], MainWindowPtr, NULL,
- GA_Disabled, TRUE,
- TAG_END
- );
- } else
- { SetGadgetAttrs
- ( manuf_gadgets[GID_5_BU1], MainWindowPtr, NULL,
- GA_Disabled, FALSE,
- TAG_END
- );
- }
-
- if (whichboard < boards)
- { SetGadgetAttrs // next card
- ( manuf_gadgets[GID_5_BU2], MainWindowPtr, NULL,
- GA_Disabled, FALSE,
- TAG_END
- );
- SetGadgetAttrs // manuf ID
- ( manuf_gadgets[GID_5_IN1], MainWindowPtr, NULL,
- GA_Disabled, TRUE,
- INTEGER_Number, board[whichboard].manuf,
- TAG_END
- );
- SetGadgetAttrs // product ID
- ( manuf_gadgets[GID_5_IN2], MainWindowPtr, NULL,
- GA_Disabled, TRUE,
- INTEGER_Number, board[whichboard].product,
- TAG_END
- );
- stcl_d(cardnumber, whichboard + 1);
- SetGadgetAttrs // card
- ( manuf_gadgets[GID_5_ST1], MainWindowPtr, NULL,
- STRINGA_TextVal, cardnumber,
- TAG_END
- );
-
- output[0] = '$';
-
- stcl_h(&output[1], (ULONG) board[whichboard].ConfigDevPtr);
- SetGadgetAttrs
- ( manuf_gadgets[GID_5_ST5], MainWindowPtr, NULL,
- STRINGA_TextVal, output,
- TAG_END);
-
- stcl_h(&output[1], (ULONG) board[whichboard].Driver);
- SetGadgetAttrs
- ( manuf_gadgets[GID_5_ST6], MainWindowPtr, NULL,
- STRINGA_TextVal, output,
- TAG_END);
-
- stcl_h(&output[1], board[whichboard].SerialNumber);
- SetGadgetAttrs
- ( manuf_gadgets[GID_5_ST7], MainWindowPtr, NULL,
- STRINGA_TextVal, output,
- TAG_END);
-
- stcl_h(&output[1], (ULONG) board[whichboard].BoardAddr);
- SetGadgetAttrs
- ( manuf_gadgets[GID_5_ST8], MainWindowPtr, NULL,
- STRINGA_TextVal, output,
- TAG_END);
-
- stcl_h(&output[1], board[whichboard].BoardSize);
- SetGadgetAttrs
- ( manuf_gadgets[GID_5_ST9], MainWindowPtr, NULL,
- STRINGA_TextVal, output,
- TAG_END);
-
- stcl_h(&output[1], (ULONG) board[whichboard].SlotAddr);
- SetGadgetAttrs
- ( manuf_gadgets[GID_5_ST10], MainWindowPtr, NULL,
- STRINGA_TextVal, output,
- TAG_END);
-
- stcl_h(&output[1], (ULONG) board[whichboard].SlotSize);
- SetGadgetAttrs
- ( manuf_gadgets[GID_5_ST11], MainWindowPtr, NULL,
- STRINGA_TextVal, output,
- TAG_END);
- } else
- { SetGadgetAttrs // next card
- ( manuf_gadgets[GID_5_BU2], MainWindowPtr, NULL,
- GA_Disabled, TRUE,
- TAG_END
- );
- SetGadgetAttrs // manuf ID
- ( manuf_gadgets[GID_5_IN1], MainWindowPtr, NULL,
- GA_Disabled, FALSE,
- INTEGER_Number, querymanuf,
- TAG_END
- );
- SetGadgetAttrs // product ID
- ( manuf_gadgets[GID_5_IN2], MainWindowPtr, NULL,
- GA_Disabled, FALSE,
- INTEGER_Number, queryproduct,
- TAG_END
- );
- SetGadgetAttrs // card
- ( manuf_gadgets[GID_5_ST1], MainWindowPtr, NULL,
- STRINGA_TextVal, "Queryable",
- TAG_END
- );
-
- for (i = 0; i <= 6; i++)
- { SetGadgetAttrs
- ( manuf_gadgets[GID_5_ST5 + i], MainWindowPtr, NULL,
- STRINGA_TextVal, "-",
- TAG_END);
- } }
- runquery(board[whichboard].manuf, board[whichboard].product);
- }
-
- AGLOBAL void manuf1(void)
- { struct ConfigDev* ThisConfigDev;
- ULONG i, bufferoffset, stringoffset;
- struct Hook Hook5Struct;
- TEXT cpustring[MEDFIELD + 1], fpustring[MEDFIELD + 1];
-
- NewList(&ManufChooserList);
- for (i = 0; i <= 1; i++)
- { if (!(ManufChooserNodePtr[i] = (struct ChooserNode *) AllocChooserNode(CNA_Text, ManufOptions[i], TAG_DONE)))
- { rq("Can't allocate chooser node!");
- }
- AddTail(&ManufChooserList, (struct Node *) ManufChooserNodePtr[i]);
- } // automatically freed by ReAction at DisposeObject() time
-
- if (ExpansionBase = (struct ExpansionBase *) OpenLibrary(EXPANSIONNAME, 0))
- { /* Use FindConfigDev() to get info on the first expansion board on
- the list maintained by Exec. */
-
- if (ThisConfigDev = FindConfigDev(NULL, -1, -1))
- { board[0].manuf = ThisConfigDev->cd_Rom.er_Manufacturer;
- board[0].product = ThisConfigDev->cd_Rom.er_Product;
- board[0].ConfigDevPtr = ThisConfigDev; // struct ConfigDev*
- board[0].BoardAddr = ThisConfigDev->cd_BoardAddr; // APTR
- board[0].BoardSize = ThisConfigDev->cd_BoardSize; // ULONG
- board[0].SlotAddr = ThisConfigDev->cd_SlotAddr; // UWORD
- board[0].SlotSize = ThisConfigDev->cd_SlotSize; // UWORD
- board[0].Driver = ThisConfigDev->cd_Driver; // APTR
- board[0].SerialNumber = ThisConfigDev->cd_Rom.er_SerialNumber; // ULONG
- boards = 1;
-
- /* OK, there is at least one board, so loop and get the
- entire list. */
- while (ThisConfigDev = FindConfigDev(ThisConfigDev, -1, -1))
- { board[boards].manuf = ThisConfigDev->cd_Rom.er_Manufacturer;
- board[boards].product = ThisConfigDev->cd_Rom.er_Product;
- board[boards].ConfigDevPtr = ThisConfigDev; // struct ConfigDev*
- board[boards].BoardAddr = ThisConfigDev->cd_BoardAddr; // APTR
- board[boards].BoardSize = ThisConfigDev->cd_BoardSize; // ULONG
- board[boards].SlotAddr = ThisConfigDev->cd_SlotAddr; // UWORD
- board[boards].SlotSize = ThisConfigDev->cd_SlotSize; // UWORD
- board[boards].Driver = ThisConfigDev->cd_Driver; // APTR
- board[boards].SerialNumber = ThisConfigDev->cd_Rom.er_SerialNumber; // ULONG
- boards++;
- } }
- else boards = 0;
- CloseLibrary((struct Library *) ExpansionBase);
- }
-
- if (cpuline[0] == '?')
- { strcpy(cpustring, "?");
- strcpy(fpustring, "?");
- } else
- { stringoffset = 0;
- bufferoffset = 8; // to bypass "System: "
- while (cpuline[bufferoffset] != ' ')
- { cpustring[stringoffset] = cpuline[bufferoffset];
- stringoffset++;
- bufferoffset++;
- }
- cpustring[stringoffset] = 0;
-
- stringoffset = 0;
- bufferoffset++;
- while (cpuline[bufferoffset] != ' ')
- { fpustring[stringoffset] = cpuline[bufferoffset];
- stringoffset++;
- bufferoffset++;
- }
- fpustring[stringoffset] = 0;
-
- if (fpustring[0] == '(')
- { strcpy(fpustring, "None");
- } }
-
- InitHook(&Hook5Struct, Hook5Func, NULL);
-
- /* Create the window object. */
- lockscreen();
-
- if (!(WinObject[5] = NewObject(WINDOW_GetClass(), NULL,
- // window
- WA_PubScreen, ScreenPtr,
- WA_ScreenTitle, "Report+",
- WA_Title, "Report+: Manufacturer IDs",
- WA_Activate, TRUE,
- WA_DepthGadget, TRUE,
- WA_DragBar, TRUE,
- WA_CloseGadget, TRUE,
- WA_SizeGadget, TRUE,
- WA_IDCMP, IDCMP_RAWKEY,
- WINDOW_IDCMPHook, &Hook5Struct,
- WINDOW_IDCMPHookBits, IDCMP_RAWKEY,
- WINDOW_MenuStrip, MenuPtr,
- WINDOW_Position, WPOS_CENTERSCREEN,
- WINDOW_ParentGroup, manuf_gadgets[GID_5_LY1] =
- NewObject
- ( LAYOUT_GetClass(), NULL,
- // root-layout
- LAYOUT_Orientation, LAYOUT_ORIENT_VERT,
- LAYOUT_SpaceOuter, TRUE,
- LAYOUT_DeferLayout, TRUE,
- LAYOUT_ShrinkWrap, TRUE,
- LAYOUT_AddChild, NewObject
- ( LAYOUT_GetClass(), NULL,
- // layout
- LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
- LAYOUT_SpaceOuter, TRUE,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_HorizAlignment,LALIGN_CENTER,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_VERT,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_HorizAlignment,LALIGN_LEFT,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddImage, NewObject
- ( LABEL_GetClass(), NULL,
- LABEL_Text, "Card:",
- LABEL_Justification, LJ_RIGHT,
- TAG_END
- ),
- TAG_END
- ),
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddImage, NewObject
- ( LABEL_GetClass(), NULL,
- LABEL_Text, "Manufacturer:",
- LABEL_Justification, LJ_RIGHT,
- TAG_END
- ),
- TAG_END
- ),
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddImage, NewObject
- ( LABEL_GetClass(), NULL,
- LABEL_Text, "Product:",
- LABEL_Justification, LJ_RIGHT,
- TAG_END
- ),
- TAG_END
- ),
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddImage, NewObject
- ( LABEL_GetClass(), NULL,
- LABEL_Text, "Description:",
- LABEL_Justification, LJ_RIGHT,
- TAG_END
- ),
- TAG_END
- ),
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddImage, NewObject
- ( LABEL_GetClass(), NULL,
- LABEL_Text, "Serial Number:",
- LABEL_Justification, LJ_RIGHT,
- TAG_END
- ),
- TAG_END
- ),
- TAG_END
- ),
- CHILD_WeightedWidth, 0,
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- // layout
- LAYOUT_Orientation, LAYOUT_ORIENT_VERT,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_HorizAlignment, LALIGN_LEFT,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddChild, manuf_gadgets[GID_5_ST1] =
- NewObject
- ( STRING_GetClass(), NULL,
- GA_ReadOnly, TRUE,
- GA_ID, GID_5_ST1,
- STRINGA_TextVal, "-",
- STRINGA_MinVisible, 9,
- TAG_END
- ),
- CHILD_MinWidth, 256,
- LAYOUT_AddChild, manuf_gadgets[GID_5_ST2] =
- NewObject
- ( STRING_GetClass(), NULL,
- GA_ReadOnly, TRUE,
- GA_ID, GID_5_ST2,
- STRINGA_TextVal, "-",
- TAG_END
- ),
- CHILD_MinWidth, 256,
- LAYOUT_AddChild, manuf_gadgets[GID_5_ST3] =
- NewObject
- ( STRING_GetClass(), NULL,
- GA_ReadOnly, TRUE,
- GA_ID, GID_5_ST3,
- STRINGA_TextVal, "-",
- TAG_END
- ),
- CHILD_MinWidth, 256,
- LAYOUT_AddChild, manuf_gadgets[GID_5_ST4] =
- NewObject
- ( STRING_GetClass(), NULL,
- GA_ReadOnly, TRUE,
- GA_ID, GID_5_ST4,
- STRINGA_TextVal, "-",
- TAG_END
- ),
- CHILD_MinWidth, 256,
- LAYOUT_AddChild, manuf_gadgets[GID_5_ST7] =
- NewObject
- ( STRING_GetClass(), NULL,
- GA_ReadOnly, TRUE,
- GA_ID, GID_5_ST7,
- STRINGA_TextVal, "-",
- STRINGA_MinVisible, 9,
- TAG_END
- ),
- CHILD_MinWidth, 256,
- TAG_END
- ),
- CHILD_WeightedHeight, 0,
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- // layout
- LAYOUT_Orientation, LAYOUT_ORIENT_VERT,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_HorizAlignment,LALIGN_LEFT,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddImage, NewObject
- ( LABEL_GetClass(), NULL,
- LABEL_Text, "",
- TAG_END
- ),
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_VertAlignment, LALIGN_BOTTOM,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_VERT,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddImage, NewObject
- ( LABEL_GetClass(), NULL,
- // label
- LABEL_Text, "_ID:",
- LABEL_Justification, LJ_RIGHT,
- TAG_END
- ),
- TAG_END
- ),
- LAYOUT_AddChild, manuf_gadgets[GID_5_IN1] =
- NewObject
- ( INTEGER_GetClass(), NULL,
- GA_ID, GID_5_IN1,
- GA_RelVerify, TRUE,
- GA_TabCycle, TRUE,
- INTEGER_Number, querymanuf,
- INTEGER_Minimum, 0,
- INTEGER_Maximum, 65535,
- INTEGER_MinVisible, 5,
- TAG_END
- ),
- TAG_END
- ),
- CHILD_WeightedHeight, 0,
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_VertAlignment, LALIGN_BOTTOM,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_VERT,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddImage, NewObject
- ( LABEL_GetClass(), NULL,
- // label
- LABEL_Text, "I_D:",
- LABEL_Justification, LJ_RIGHT,
- TAG_END
- ),
- TAG_END
- ),
- LAYOUT_AddChild, manuf_gadgets[GID_5_IN2] =
- NewObject
- ( INTEGER_GetClass(), NULL,
- GA_ID, GID_5_IN2,
- GA_RelVerify, TRUE,
- GA_TabCycle, TRUE,
- INTEGER_Number, queryproduct,
- INTEGER_Minimum, 0,
- INTEGER_Maximum, 255,
- INTEGER_MinVisible, 5,
- TAG_END
- ),
- TAG_END
- ),
- CHILD_WeightedHeight, 0,
- LAYOUT_AddImage, NewObject
- ( LABEL_GetClass(), NULL,
- LABEL_Text, "",
- TAG_END
- ),
- LAYOUT_AddImage, NewObject
- ( LABEL_GetClass(), NULL,
- LABEL_Text, "",
- TAG_END
- ),
- TAG_END
- ),
- CHILD_WeightedWidth, 0,
- TAG_END
- ),
- CHILD_WeightedHeight, 0,
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
- LAYOUT_SpaceOuter, TRUE,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_BevelStyle, BVS_FIELD,
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_VERT,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddImage, NewObject
- ( LABEL_GetClass(), NULL,
- LABEL_Text, "ConfigDev:",
- LABEL_Justification, LJ_RIGHT,
- TAG_END),
- TAG_END),
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddImage, NewObject
- ( LABEL_GetClass(), NULL,
- LABEL_Text, "Board Address:",
- LABEL_Justification, LJ_RIGHT,
- TAG_END),
- TAG_END),
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddImage, NewObject
- ( LABEL_GetClass(), NULL,
- LABEL_Text, "Board Size:",
- LABEL_Justification, LJ_RIGHT,
- TAG_END),
- TAG_END),
- TAG_END),
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_VERT,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddChild, manuf_gadgets[GID_5_ST5] =
- NewObject
- ( STRING_GetClass(), NULL,
- GA_ReadOnly, TRUE,
- GA_ID, GID_5_ST5,
- STRINGA_TextVal, "-",
- STRINGA_MinVisible, 9,
- TAG_END),
- LAYOUT_AddChild, manuf_gadgets[GID_5_ST8] =
- NewObject
- ( STRING_GetClass(), NULL,
- GA_ReadOnly, TRUE,
- GA_ID, GID_5_ST8,
- STRINGA_TextVal, "-",
- STRINGA_MinVisible, 9,
- TAG_END),
- LAYOUT_AddChild, manuf_gadgets[GID_5_ST9] =
- NewObject
- ( STRING_GetClass(), NULL,
- GA_ReadOnly, TRUE,
- GA_ID, GID_5_ST9,
- STRINGA_TextVal, "-",
- STRINGA_MinVisible, 9,
- TAG_END),
- TAG_END),
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_VERT,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddImage, NewObject
- ( LABEL_GetClass(), NULL,
- LABEL_Text, "Driver:",
- LABEL_Justification, LJ_RIGHT,
- TAG_END),
- TAG_END),
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddImage, NewObject
- ( LABEL_GetClass(), NULL,
- LABEL_Text, "Slot Address:",
- LABEL_Justification, LJ_RIGHT,
- TAG_END),
- TAG_END),
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddImage, NewObject
- ( LABEL_GetClass(), NULL,
- LABEL_Text, "Slot Size:",
- LABEL_Justification, LJ_RIGHT,
- TAG_END),
- TAG_END),
- TAG_END),
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_VERT,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddChild, manuf_gadgets[GID_5_ST6] =
- NewObject
- ( STRING_GetClass(), NULL,
- GA_ReadOnly, TRUE,
- GA_ID, GID_5_ST6,
- STRINGA_TextVal, "-",
- STRINGA_MinVisible, 9,
- TAG_END),
- LAYOUT_AddChild, manuf_gadgets[GID_5_ST10] =
- NewObject
- ( STRING_GetClass(), NULL,
- GA_ReadOnly, TRUE,
- GA_ID, GID_5_ST10,
- STRINGA_TextVal, "-",
- STRINGA_MinVisible, 9,
- TAG_END),
- LAYOUT_AddChild, manuf_gadgets[GID_5_ST11] =
- NewObject
- ( STRING_GetClass(), NULL,
- GA_ReadOnly, TRUE,
- GA_ID, GID_5_ST11,
- STRINGA_TextVal, "-",
- STRINGA_MinVisible, 9,
- TAG_END),
- TAG_END),
- TAG_END),
- CHILD_WeightedHeight, 0,
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
- LAYOUT_SpaceOuter, TRUE,
- LAYOUT_HorizAlignment, LALIGN_CENTER,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddChild, manuf_gadgets[GID_5_CB1] =
- NewObject
- ( CHECKBOX_GetClass(), NULL,
- GA_ID, GID_5_CB1,
- GA_RelVerify, TRUE,
- GA_Disabled, TRUE,
- GA_Text, "Internal?",
- TAG_END
- ),
- CHILD_WeightedWidth, 0,
- LAYOUT_AddChild, manuf_gadgets[GID_5_CB2] =
- NewObject
- ( CHECKBOX_GetClass(), NULL,
- GA_ID, GID_5_CB2,
- GA_RelVerify, TRUE,
- GA_Disabled, TRUE,
- GA_Text, "Official?",
- TAG_END
- ),
- CHILD_WeightedWidth, 0,
- LAYOUT_AddImage, NewObject
- ( LABEL_GetClass(), NULL,
- LABEL_Text, "",
- TAG_END
- ),
- CHILD_WeightedWidth, 100,
- TAG_END),
- CHILD_WeightedHeight, 0,
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_VERT,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddImage, NewObject
- ( LABEL_GetClass(), NULL,
- LABEL_Text, "CPU:",
- LABEL_Justification, LJ_RIGHT,
- TAG_END),
- TAG_END),
- TAG_END),
- CHILD_WeightedWidth, 0,
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_VERT,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddChild, manuf_gadgets[GID_5_ST12] =
- NewObject
- ( STRING_GetClass(), NULL,
- GA_ReadOnly, TRUE,
- GA_ID, GID_5_ST12,
- STRINGA_TextVal, cpustring,
- STRINGA_MinVisible, 9,
- TAG_END),
- TAG_END),
- CHILD_WeightedWidth, 50,
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_VERT,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddImage, NewObject
- ( LABEL_GetClass(), NULL,
- LABEL_Text, "FPU:",
- LABEL_Justification, LJ_RIGHT,
- TAG_END),
- TAG_END),
- TAG_END),
- CHILD_WeightedWidth, 0,
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_VERT,
- LAYOUT_HorizAlignment, LALIGN_RIGHT,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddChild, manuf_gadgets[GID_5_ST13] =
- NewObject
- ( STRING_GetClass(), NULL,
- GA_ReadOnly, TRUE,
- GA_ID, GID_5_ST13,
- STRINGA_TextVal, fpustring,
- STRINGA_MinVisible, 9,
- TAG_END),
- TAG_END),
- CHILD_WeightedWidth, 50,
- TAG_END),
- CHILD_WeightedHeight, 0,
- LAYOUT_AddChild,
- NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
- LAYOUT_SpaceOuter, TRUE,
- LAYOUT_HorizAlignment, LALIGN_CENTER,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddImage, NewObject
- ( LABEL_GetClass(), NULL,
- // label
- LABEL_Text, "P_recedence:",
- LABEL_Justification, LJ_RIGHT,
- TAG_END
- ),
- CHILD_WeightedWidth, 0,
- LAYOUT_AddChild, manuf_gadgets[GID_5_CH1] =
- NewObject
- ( CHOOSER_GetClass(), NULL,
- GA_ID, GID_5_CH1,
- GA_RelVerify, TRUE, // otherwise we won't hear the gadget
- CHOOSER_PopUp, TRUE,
- CHOOSER_Labels, &ManufChooserList,
- CHOOSER_Selected, (WORD) precedence,
- TAG_END
- ),
- CHILD_WeightedWidth, 0,
- LAYOUT_AddImage, NewObject
- ( LABEL_GetClass(), NULL,
- LABEL_Text, "",
- TAG_END
- ),
- CHILD_WeightedWidth, 100,
- TAG_END),
- CHILD_WeightedHeight, 0,
- LAYOUT_AddChild, NewObject
- ( LAYOUT_GetClass(), NULL,
- LAYOUT_Orientation, LAYOUT_ORIENT_HORIZ,
- LAYOUT_VertAlignment, LALIGN_CENTER,
- LAYOUT_HorizAlignment, LALIGN_CENTER,
- LAYOUT_BevelStyle, BVS_NONE,
- LAYOUT_AddChild, manuf_gadgets[GID_5_BU1] =
- NewObject
- ( NULL, "button.gadget",
- // button
- GA_ID, GID_5_BU1,
- GA_RelVerify, TRUE,
- GA_Text, "_Previous Card",
- TAG_END
- ),
- CHILD_WeightedWidth, 50,
- LAYOUT_AddChild, manuf_gadgets[GID_5_BU2] =
- NewObject
- ( NULL, "button.gadget",
- // button
- GA_ID, GID_5_BU2,
- GA_RelVerify, TRUE,
- GA_Text, "_Next Card",
- TAG_END
- ),
- CHILD_WeightedWidth, 50,
- TAG_END),
- CHILD_WeightedHeight, 100,
- TAG_END),
- TAG_END
- )))
- { rq("Can't create ReAction object(s)!");
- }
- unlockscreen();
-
- /* boards is the actual number of boards found. 0 to (board - 1).
- We actually use the [board] index as our 'spare' 'queryable' index. */
-
- openwindow();
- ActivateLayoutGadget(manuf_gadgets[GID_5_LY1], MainWindowPtr, NULL, (Object) manuf_gadgets[GID_5_IN1]);
- updatemanuf();
- loop();
- closewindow();
- }
-
- AGLOBAL void manuf_loop(ULONG gid)
- { switch(gid)
- {
- case GID_5_BU1:
- whichboard--;
- updatemanuf();
- break;
- case GID_5_BU2:
- whichboard++;
- updatemanuf();
- break;
- case GID_5_CH1:
- if (!(GetAttr
- ( CHOOSER_Selected, manuf_gadgets[GID_5_CH1], (ULONG *) &precedence
- )))
- { rq("Unsupported inquiry!"); // should never happen
- }
- autoquery();
- break;
- case GID_5_IN1:
- autoquery();
- break;
- case GID_5_IN2:
- autoquery();
- break;
- default:
- break;
- } }
-
- AGLOBAL void manuf_die(void)
- { IOBuffer[20] = (UBYTE) precedence;
- }
- AGLOBAL void manuf_config(void)
- { precedence = (ULONG) IOBuffer[20];
- }
-
- MODULE void checklibrary(ULONG whichmanuf, ULONG whichproduct)
- { foundmanuf = foundproduct = FALSE;
-
- if (BoardsBase)
- { if (GetBoardName(manuf_buffer, product_buffer, NULL, whichmanuf, whichproduct))
- { SetGadgetAttrs
- ( manuf_gadgets[GID_5_ST2], MainWindowPtr, NULL,
- STRINGA_TextVal, manuf_buffer,
- TAG_END
- );
- SetGadgetAttrs
- ( manuf_gadgets[GID_5_ST3], MainWindowPtr, NULL,
- STRINGA_TextVal, product_buffer,
- TAG_END
- );
- SetGadgetAttrs
- ( manuf_gadgets[GID_5_ST4], MainWindowPtr, NULL,
- STRINGA_TextVal, "-",
- TAG_END
- );
- foundmanuf = foundproduct = TRUE;
- return; // successful
- } }
- return; // unsuccessful
- }
-
- MODULE void checkinternal(ULONG whichmanuf, ULONG whichproduct)
- { SWORD i, /* i must be signed and at least 16 bits wide */
- j;
-
- foundmanuf = foundproduct = FALSE;
- for (i = 0; i <= MANUFS; i++) // go through each manufacturer
- { for (j = 0; j <= 2; j++) // each manufacturer has up to 3 IDs
- { if (whichmanuf == manuf[i].number[j])
- { selectedmanuf = i;
- foundmanuf = TRUE;
- SetGadgetAttrs
- ( manuf_gadgets[GID_5_ST2], MainWindowPtr, NULL,
- STRINGA_TextVal, manuf[selectedmanuf].name,
- TAG_END
- );
- SetGadgetAttrs
- ( manuf_gadgets[GID_5_CB1], MainWindowPtr, NULL,
- GA_Selected, TRUE,
- TAG_END
- );
- // official gadget has been already cleared by this point
- if (j < manuf[i].howmany)
- { SetGadgetAttrs
- ( manuf_gadgets[GID_5_CB2], MainWindowPtr, NULL,
- GA_Selected, TRUE,
- TAG_END
- );
- }
-
- selectedproduct = (UWORD) ~0;
- for (i = 0; i <= PRODUCTS; i++)
- { if (whichmanuf == product[i].manufid)
- { for (j = 0; j <= 1; j++)
- { if (whichproduct == product[i].number[j])
- { selectedproduct = i;
- // show product details
- SetGadgetAttrs
- ( manuf_gadgets[GID_5_ST3], MainWindowPtr, NULL,
- STRINGA_TextVal, product[selectedproduct].name,
- TAG_END
- );
- SetGadgetAttrs
- ( manuf_gadgets[GID_5_ST4], MainWindowPtr, NULL,
- STRINGA_TextVal, product[selectedproduct].desc,
- TAG_END
- );
- foundproduct = TRUE;
- return; // found both
- } } } }
- return; // found manuf only
- } } }
- return; // completely unsuccessful
- }
-
- MODULE void nomanuf(void)
- { SetGadgetAttrs
- ( manuf_gadgets[GID_5_ST2], MainWindowPtr, NULL,
- STRINGA_TextVal, "-",
- TAG_END
- );
- }
-
- MODULE void noproduct(void)
- { SetGadgetAttrs
- ( manuf_gadgets[GID_5_ST3], MainWindowPtr, NULL,
- STRINGA_TextVal, "-",
- TAG_END
- );
- SetGadgetAttrs
- ( manuf_gadgets[GID_5_ST4], MainWindowPtr, NULL,
- STRINGA_TextVal, "-",
- TAG_END
- );
- }
-
- AGLOBAL ULONG Hook5Func(struct Hook *h, VOID *o, VOID *msg)
- { /* "When the hook is called, the data argument points to the
- window object and message argument to the IntuiMessage." */
-
- UWORD code, qual;
-
- geta4(); // wait till here before doing anything
-
- code = ((struct IntuiMessage *) msg)->Code;
- qual = ((struct IntuiMessage *) msg)->Qualifier;
-
- switch(code)
- {
- case SCAN_HELP:
- helpabout();
- break;
- case SCAN_ESCAPE:
- if ((qual & IEQUALIFIER_LSHIFT) || (qual & IEQUALIFIER_RSHIFT))
- { cleanexit(EXIT_SUCCESS);
- } else page = 0;
- break;
- case SCAN_R:
- if (precedence == 0)
- { precedence = 1;
- } else
- { // assert(precedence == 1);
- precedence = 0;
- }
- SetGadgetAttrs
- ( manuf_gadgets[GID_5_CH1], MainWindowPtr, NULL,
- CHOOSER_Selected, (WORD) precedence,
- TAG_END
- );
- autoquery();
- break;
- case SCAN_I:
- ActivateLayoutGadget(manuf_gadgets[GID_5_LY1], MainWindowPtr, NULL, (Object) manuf_gadgets[GID_5_IN1]);
- break;
- case SCAN_D:
- ActivateLayoutGadget(manuf_gadgets[GID_5_LY1], MainWindowPtr, NULL, (Object) manuf_gadgets[GID_5_IN2]);
- break;
- default:
- break;
- }
-
- return(1);
- }
-
- MODULE void autoquery(void)
- { if (!(GetAttr
- ( INTEGER_Number, manuf_gadgets[GID_5_IN1], (ULONG *) &querymanuf
- )))
- { rq("Unsupported inquiry!"); // should never happen
- }
- if (!(GetAttr
- ( INTEGER_Number, manuf_gadgets[GID_5_IN2], (ULONG *) &queryproduct
- )))
- { rq("Unsupported inquiry!"); // should never happen
- }
- runquery(querymanuf, queryproduct);
- }
-